package org.example.functionInterface;

import java.util.function.Function;

/*    java.util.function.Function<T,R>: 转换型接口        泛型T: 转换前的类型        泛型R: 转换后的类型        抽象方法:
 R apply(T t): 根据类型T的参数获取类型R的结果 把参数t转换成R类型的结果        "123" --> 123        需求:            
 给你一个String类型的数字,给我转换成int数字            分析:                用Function接口                    T: 转换前的类型, String                   
 R: 转换后的类型, Integer */
public class Demo07Function {
    //将String类型转换为Integer类型
    public static void main(String[] args) {
        String s = "123";
        //lambda标准格式
        fun(s, (String str) -> {
            return Integer.parseInt(str);
        });
    }

    /*        定义方法,使用Function接口作为参数     */
    public static void fun(String s, Function<String, Integer> function) {
        Integer num = function.apply(s);
        System.out.println(num);
    }

}